package com.linghang.wusthelpercompetition.manager;

import org.springframework.stereotype.Component;
import java.util.HashSet;
import java.util.Set;

@Component
public class BlacklistManager {

    // 存储被禁用的studentId
    private final Set<Long> blacklistedStudentIds = new HashSet<>();

    /**
     * 检查用户是否被禁用
     * @param studentId 用户ID
     * @return 是否在黑名单中
     */
    public boolean isBlacklisted(Long studentId) {
        if (studentId == null) {
            return false; // 空ID不视为黑名单用户
        }
        return blacklistedStudentIds.contains(studentId);
    }

    /**
     * 添加用户到黑名单
     * @param studentId 用户ID
     * @return 是否添加成功
     */
    public boolean addToBlacklist(Long studentId) {
        if (studentId == null) {
            return false;
        }
        return blacklistedStudentIds.add(studentId);
    }

    /**
     * 从黑名单移除用户
     * @param studentId 用户ID
     * @return 是否移除成功
     */
    public boolean removeFromBlacklist(Long studentId) {
        if (studentId == null) {
            return false;
        }
        return blacklistedStudentIds.remove(studentId);
    }

    /**
     * 获取所有黑名单用户
     * @return 黑名单用户ID集合
     */
    public Set<Long> getAllBlacklistedStudents() {
        return new HashSet<>(blacklistedStudentIds); // 返回副本防止外部修改
    }
}

